//
//  global.h
//  newAR
//
//  Created by ZJU_CVG on 15/7/4.
//  Copyright (c) 2015年 Shangjin Zhai. All rights reserved.
//

#ifndef newAR_global_h
#define newAR_global_h

#include "headers.h"


namespace markerAR
{
    class Relocalisation;
    extern Map* map;
    extern Ptr<ORB> orb;
    extern Ptr<DescriptorMatcher> binaryMatcher;
    extern Ptr<Eigen::Matrix3d> KMatrix;
    extern Ptr<IntrinsicMatrix> K;
    //extern Ptr<Marker_Matcher> mm;
    extern vector<int> markerRegistered;
    extern future<Mat> backThread;
    extern future<bool> keyframeThread;
    extern Ptr<Keyframe> last;
    //extern Ptr<TrackFrame> current;
    extern double scale;
    extern Eigen::Vector3d N;
    extern double D;
    extern int lastMarkerNum;
    extern Ptr<ORB> myorb;
    extern Ptr<Tracking> track;
    extern Ptr<cv::Size> imgSize;
    extern Relocalisation* relocal;
    extern Ptr<ORB> orb_no;
    extern Ptr<BRIEF> brief;
    extern Mat debugimg;
    extern std::thread relocal_thread;
    extern std::mutex mutex_keyframe;
    extern std::mutex mutex_marker;
    extern BoWWrapperORB bow;
    extern Initializer* initialzer;
    extern std::thread initial_thread;
}




#endif
